package com.xframework.security.model;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.xframework.annotation.MappingColumn;
import com.xframework.annotation.MappingTable;
import com.xframework.model.BaseModel;

/**
 * 账号扩展属性表.
 *
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@MappingTable(tableName = "SECURITY_ACCOUNT_PROPERTY")
public class Property extends BaseModel {
	/**
	 * 账号id.
	 */
	@MappingColumn(columnName = "ACCOUNT_ID", columnPk = true)
	private String accountId;
	/**
	 * 账户.
	 */
	@MappingTable(tableName = "SECURITY_ACCOUNT")
	private Account account;
	/**
	 * 账号扩展属性key.
	 */
	@MappingColumn(columnName = "PROPERTY_KEY", columnPk = true)
	private String propertyKey;
	/**
	 * 账号扩展属value.
	 */
	@MappingColumn(columnName = "PROPERTY_VALUE")
	private String propertyValue;
	/**
	 * 创建时间.
	 */
	@MappingColumn(columnName = "PROPERTY_CREATE_TIME")
	private String propertyCreateTime;
	/**
	 * 修改时间.
	 */
	@MappingColumn(columnName = "PROPERTY_MODIFY_TIME")
	private String propertyModifyTime;

	public Property() {
	}

	/**
	 * 获取账户.
	 * 
	 * @return 账户
	 */
	public Account getAccount() {
		return account;
	}

	/**
	 * 获取账号扩展属性key.
	 * 
	 * @return
	 */
	public String getPropertyKey() {
		return propertyKey;
	}

	/**
	 * 获取账号扩展属value.
	 * 
	 * @return 账号扩展属value
	 */
	public String getPropertyValue() {
		return propertyValue;
	}

	/**
	 * 账号id.
	 * 
	 * @return 账号id
	 */
	public String getAccountId() {
		return accountId;
	}

	/**
	 * 获取创建时间.
	 * 
	 * @return
	 */
	public String getPropertyCreateTime() {
		return propertyCreateTime;
	}

	/**
	 * 获取修改时间.
	 * 
	 * @return 修改时间
	 */
	public String getPropertyModifyTime() {
		return propertyModifyTime;
	}

	/**
	 * 设置账户.
	 * 
	 * @param account
	 *            账户
	 */
	public void setAccount(Account account) {
		this.account = account;
	}

	/**
	 * 设置账号扩展属性key.
	 * 
	 * @param propertyKey
	 *            账号扩展属性key
	 */
	public void setPropertyKey(String propertyKey) {
		this.propertyKey = propertyKey;
	}

	/**
	 * 设置账号扩展属value.
	 * 
	 * @param propertyValue
	 *            账号扩展属value
	 */
	public void setPropertyValue(String propertyValue) {
		this.propertyValue = propertyValue;
	}

	/**
	 * 设置账号id.
	 * 
	 * @param accountId
	 *            账号id
	 */
	public void setAccountId(String accountId) {
		this.accountId = accountId;
	}

	/**
	 * 设置创建时间.
	 * 
	 * @param propertyCreateTime
	 */
	public void setPropertyCreateTime(String propertyCreateTime) {
		this.propertyCreateTime = propertyCreateTime;
	}

	/**
	 * 设置修改时间.
	 * 
	 * @param propertyModifyTime
	 *            修改时间
	 */
	public void setPropertyModifyTime(String propertyModifyTime) {
		this.propertyModifyTime = propertyModifyTime;
	}
}
